5429
16147
我正在嘗試取消剖析後加載預測,但出現此錯誤
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29:
DeprecationWarning:numpy.core.umath_tests是一個內部NumPy模塊
並且不應該導入。它將在以後的NumPy中刪除
發布。從numpy.core.umath_tests導入inner1d
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311:
UserWarning:嘗試釋放估算器DecisionTreeClassifier從
使用0.19.2版時為0.20.2版。這可能會導致破裂
代碼或無效結果。使用風險自負。用戶警告)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311:
UserWarning:嘗試釋放估算器RandomForestClassifier從
使用0.19.2版時為0.20.2版。這可能會導致破裂
代碼或無效結果。使用風險自負。用戶警告)
追溯(最近一次通話):文件“ rf_pred_model_tester.py”,
第7行
print('Class:',int(rf.predict(xx)))文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py” ,
預測中的第538行
proba = self.predict_proba(X)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py”,
第581行,位於predict_proba中
n_jobs,_,_ = _partition_estimators(self.n_estimators,self.n_jobs)文件
“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py”,
第153行,在_partition_estimators中
n_jobs = min(_get_n_jobs(n_jobs),n_estimators)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py”,
第464行,在_get_n_jobs中
如果n_jobs <0:TypeError:“ NoneType”和“ int”的實例之間不支持“ <”
這是我正在嘗試運行的代碼
進口泡菜
將numpy導入為np
將open('rf_model_1','rb')設為f:
rf = pickle.load(f)
xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1)
print('Class:',int(rf.predict(xx)))
我期望這樣的結果:
類別:[0]
如果我在jupyter上運行代碼可以正常工作,但是,當我嘗試在終端上運行時出現錯誤。 
您的錯誤直言不諱:
用戶警告:使用0.19.2版本時,嘗試釋放0.20.2版本的估計器RandomForestClassifier。這可能會導致代碼破裂或無效結果。使用風險自負。
確實就是這樣。醃製時,您的RandomForestClassifier的屬性n_jobs保持為None。這是初始化的默認值,但通常在後台將其設置為1。您可以在此處找到有關n_jobs的更多詳細信息:https://scikit-learn.org/stable/glossary.html#term-n-jobs
對您來說,將rf的n_jobs設置為1可以解決問題:
進口泡菜
將numpy導入為np
將open('rf_model_1','rb')設為f:
rf = pickle.load(f)
rf.n_jobs = 1
xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1)
print('Class:',int(rf.predict(xx)))
|
高度活躍的問題。贏得10個聲譽才能回答這個問題。信譽要求有助於保護該問題免受垃圾郵件和非答復活動的侵害。
不是您要找的答案?瀏覽其他標記為python-3.x的問題,或詢問您自己的問題。